High speed superscript-subscript printer



Jan. 2, 1968 s. H. PITT HIGH SPEED SUPERSCRIPTSUBSCRIPT PRINTER Filed Aug. 11, 1964 COMPUTER BUFFER MEMORY I130 CHARACTERS) ADDRESS COUNTER 8 MATRIX I CIJOCK 4 Sheets-Sheet 1 PIJLSE COMPARATOR CODE REGISTER FROM com:

GENERATOR 42 DECISION STORAGE MATRIX READ OUT GENERATOR DELAY F I G I SPROCKET PULSE mum/e soumou H PITT Jan. '2, 1968 s H. PlTT 3,361,057

- HIGH SPEED SUP'ERSCRIPTSUBSCRIPT PRINTER Filed Aug. 11, 1964 1 4 Sheets-Sheet 5 16 2o CLOCK PULSE GENERATOR COMPUTER 19 J r v G (E01) BUFFER 1'- ADDRESS MEMORY :1. m; COUNTER (150011111101151151' I 81 MATRIX 11 SPROCKET R I a ROTATION CODE F IG. 4

DECISION COMPARATOR STORAGE MATRIX 14 i 1 21 1 CODE REGISTER 1 15 CODE SELECTOR V FROM CODE GENERATOR 42 61 SPROCKET DETECTOR 40 United States Patent 3,361,057 HIGH SPEED SUPERSCRIPT-SUBSCRIPT PRINTER Solomon Harold Pitt, Norristown, Pa., assignor to Sperry Rand Corporation, New York, N.Y., a corporation of Delaware Filed Aug. 11, 1964, Ser. No. 388,908 Claims. (Cl. 101-93) This invention relates to a new and improved type drum for a high speed printer, and more particularly relates to a type drum which can readily print characters in the superscript and subscript positions.

In the high speed printing art, drum printers of the type described and depicted in US. Patents No. 2,978,977 to J. P. Bckert, Jr., et a1. and No. 2,915,967 to A. J. Gehring, Jr., et a1. employ type drums upon which are placed character printing type. The character type is arranged around the periphery of the type drum in a plurality of columns equivalent in number to the columns of the record to be printed out, and in a plurality of rows related to the number of the separate and distinct character types which are available for printing. The characters in any one row of type on the drum surface are all the same, and are positioned along the row so as to be available in some forms of the type drum for every columnar position in the row. In other forms, a row contains the same character in every other columnar position (first, third, etc.) so that a second row of the same character is necessary wherein characters are in columnar positions two, four, six, etc. Thus where a record is to be printed in 130 columns, the arrangement of character type upon the drum would be such as to place 130 of the same character, for example, the characters a in one or two adjacent rows along the length of the drum. This would permit in any one or possibly two printing times the printing of a character a in each of the 130 columns of the record.

The number of rows around the circumference or periphery of the type drum will depend upon the number of characters to be printed. Assuming it is desired to print 26 alphabetical characters, 10 numerical characters and a plurality of special symbols and punctuation marks, giving a total of 63 possible characters, 63 rows of char acters on the drum would be necessary in the first mode described above. Further 126 rows of characters around the periphery of the drum would be necessary in the second form wherein every other columnar position in a row is occupied by the same character type.

The type drum is rotated continuously at a constant speed so that the character type pass repeatedly and in a definite order past a position, called the printing line at which are located a plurality of hammers, one hammer for each columnar position. A record to be printed upon is moved in discrete steps past the printing line where after a complete revolution of the type drum all the characters in the line to be printed have been impressed upon the paper. The firing of a print hammer is caused in response to coincidence between a stored character, which represents the character to be printed and the character next available for printing. The character next available for printing is identified by a means operated in synchronism with the type drum which produces signals that indicate the next character about to arrive in the printing position at the print line. Also generated by apparatus which is in synchronism with the type drum are sprocket pulses. One sprocket pulse is generated for each row of characters on the type drum. Thus, when the signals representing the next character available on the print drum at the print line are generated, there is also generated a sprocket pulse. The purpose of the sprocket pulse is to supply a signal to operate the printing ham- 3,361,057 Patented Jan. 2, 1938 mers either serially or in parallel at a time when the characters to be printed are in a horizontal line which is spaced at a fixed distance from the last imprinted line.

As has been described, prior art devices generated a sprocket and a code representation for each row of character type on the type drum at a fixed time prior to the arrival of that row of character type at the printing line. During the interval between the generation of the sprocket pulse and the arrival of the character type associated therewith at the print line, certain logical operations would take place, namely, the comparison of the coded representation produced in synchronism with the type drum and all the characters in a memory which stored the data to be printed in a line. Every character in the memory which was in agreement with. the code representation being produced would be printed in its correct position in the line at a time related to the previously generated sprocket pulse. The operation of each printing hammer was so controlled by the sprocket signal or other timing signal so that every character printed in a row was centered about the same horizontal line.

In certain computer applications, it is highly desirable to be able to print characters in the superscript or subscript position. One way this could be accomplished is to have inter alia, a new row of type characters on the print drum for each subscript or each superscript character to be added. Thus, if the 10 numerals on the drum are to be available in the superscript and subscript positions, 20 new rows of characters would be added to those drums of the type where every columnar position contains a character type and 40 new rows would be added to those drums wherein every other columnar position contains the character type. Accordingly, the apparatus for obtaining super and subscript characters would increase the circumference of the type drum, if the same size characters are maintained. However, the line rate for printing is inversely related to the drum circumference and in order to maintain the same printing line rate, the speed of the type drum would have to be increased. But, by increasing the drum speed, the print quality deteriorates since it is inversely related to the peripheral speed of the drum.

The present invention obviates the aforementioned difficulties by providing a means for expanding the capabilities of presently available equipment to allow for printing superscripts or subscripts without an increase in the type drum diameter, an increase in drum speed, or increasing the number of rows of characters on the type drum. In particular, the invention employs a novel timing technique to determine when the print hammers are to be actuated so that printing occurs either early, on time, or late in regard to normal printing. Since the print drum is rotating, this controlled change in print time will cause the character to be impressed in the superscript, normal, or subscript position. To obtain the end desired, where formerly only one sprocket pulse was associated with each row of characters to be printed, there are three time displaced sprocket puises generated (designated early, regular and late) for each row of characters capable of being printed in the normal, subscript and superscript positions. Further, in order to determine when to print in the super or subscript positions the code representing a character in the superscript position is different from the same character in either its normal position along the print line or in the subscript position. Thus, if it were desired to be able to print the numeral one in the three positions just described, the numeral one would have to be represented by three different codes, one for each of the positions it might occupy in the print line. As will be shown, each time one of the newly added codes is generated a newly added early or late sprocket pulse also is generated depending on whether the code is for a super or subscript character.

Accordingly it is an object of this invention to provide a high speed printer having a moving type drum with capabilities of printing characters in the super or subscript position in addition to being able to print characters which are evenly displaced about the center line of the printed row.

Another object of this invention is to provide a high speed printer having a moving type drum with the capability of printing characters in a variety of positions about the center line of a row of characters to be printed.

Another object of this invention is to provide a technique for readily modifying existing high speed printers having movable type drums so that they are capable of printing characters in the super or subscript position.

Yet another object of this invention is to provide a high speed printer operating in the serial or parallel printing mode with the ability to print characters in a variety of positions about a center line of a row of data to be printed.

Still another object of this invention is to provide a high speed printer having a moving type drum with rows of characters thereon with timing means for producing a plurality of timing pulses, one such pulse for each row of characters as said characters pass a predetermined position.

Still another object of this invention is to provide a high speed printer having a moving type drum with rows of characters thereon, wherein each character in a row is the same, with a code generating means for producing a plurality of difierent code representations for each row of said characters.

The novel features which are believed to be characteristic of this invention both as to its organization and method of operation, together with further objects and advantages thereof, will be better understood from the following description considered in connection with the accompanying drawings. It is expressly understood, however, that the drawings are for purposes of illustration and description only, and are not intended as a definition of the limits of the invention.

FIGURE 1 is a generalized logical block diagram showing the organizational layout of a portion of a high speed printer. FIGURE 2 is a diagram of the print drum illustrating one form of code and sprocket generating means associated with said drum. FIGURES 3a, 3b, and 3c are cross sectional views of the print drum and hammer. FIGURE 4 is the generalized logical block diagram illustrating the organizational layout of a portion of a high speed printer for the second embodiment of the invention. FIGURES 4a and 4b illustrate details for the block diagram of FIGURE 4.

Referring now to FIGURE 1, there is shown at Block a bufier memory having 130 addressable positions for storing 130 characters to be printed on the line. Memory 10 may be of the core-storage, character-oriented type. That is the memory 10 may comprise a 6 x 130 core memory array, wherein each of the memory locations stores 6 bits comprising a character and all of the bits of a character are read out simultaneously. The buffer memory '10 receives additional information from a source such as an internally programmed computer 16, or other source of data such as a card reader or tape mechanism. The buffer memory 10 is addressed by the address counter 18 which produces 130 outputs, one for each of the memory locations. The address counter 18 may comprise a plurality of bi-stable elements connected in cascade all of which drive a decoding matrix (included within the block 18). Since in this embodiment 130 memory locations are addressed the print counter 18 may comprise 8 flip flops and be internally wired to reset itself after counting 130 impulses. Address counter 18 is electrically stepped by the output of clock pulse generator 20. The pulses from clock pulse generator 29 are transmitted to the counter 18 via a gate which in turn is rendered operative by a signal from the computer when printing is to take place.

Each setting of the counter 18 in response to a pulse from the clock causes the buffer memory 10 to be addressed at a location corresponding to the value in counter 18. The 6 bit character so addressed is transferred to the comparator 12. Comparator 12 may typically comprise a gating array which receives the 6 bits of a character from the memory 10 and compares them with 6 bits representative of a character which is about to be presented by the type drum (FIGURE 2) to the print line. If the two sets of bits representing the two characters are identical the comparator 12 produces a signal which is applied to the decision storage matrix 22.

The signals representing the next character available for printing are generated as shown and described in connection with FIGURE 2 and they are applied to the code register 14, the outputs of which are in turn applied to the comparator 12. As shall be more fully explained, each character representation in the code register is compared against all the characters stored in the buffer memory 10 for a complete line of print. Each time these two sets of signals are in agreement, the comparator 12 applies a signal to decision storage matrix 22. As can be seen from FIGURE 1, the storage matrix 22 is also controlled by the address counter 18. The storage matrix 22 may comprise magnetic cores in the case where the print drum has a character type in every column position or may comprise 65 cores if the character types are in every other columnar position on the drum. In this embodiment, the matrix 22 comprises 130 cores and the drum has type characters in every column position.

Each one of 130 outputs of the address counter 18 is coupled to an associated core in the matrix 22 to prime it for read in. Accordingly, each core 22a in matrix 22 is associated with one memory location in memory 10. Thus, for example, if the characters for memory locations '1, 5 and 126 of memory 10 are the same as the character in the code register 14, the cores of matrix 22 associated with these locations will be set. As is well known each of the cores in matrix 22 has associated therewith an output winding. Each one of the output windings is connected through a suitable power amplifier (not shown) to a hammer actuator of the print mechanism shown in FIGURE 2. In particular, the output winding of the core of matrix 22 associated with location one of memory 10 drives a print hammer for the first columnar position of the printer and the rest of the cores in matrix 22 bear the same relationship to the locations in the memory 10 and the print hammers. Thus, it will be appreciated that the contents of memory locations 1 through 130 will be printed in columnar positions 1 through 130, respectively.

The readout of the decision storage matrix 22 is controlled by the timing or sprocket signal produced in synchronism with the rotation of the print drum and the production of each of the signals representative of the next character available for printing. As shown in FIG- URE 1 a sprocket signal from the print drum is applied through a suitable delay 24 to the cores of decision storage matrix 22. In particular the sprocket pulse may be applied to the output windings of all of the cores in the matrix so that there is a simultaneous readout of the previously set cores in which case parallel printing takes place; or if desirable the sprocket pulses may be applied to the cores in the matrix in series so that serial printing takes place. The printing of superscript or subscript characters, however, in the manner taught by this invention is applicable to a serial or parallel printer.

Refer now to FIGURE 2 where there is shown the print drum assembly. This assembly comprises the sprocket wheel 32, the code drum 34, and the font or type drum 36, all mounted on a common shaft 38, and adapted for rotation in the direction indicated by the arrow 41. The drum 36 is arranged in this embodiment.

to have its type set in horizontal columns and vertical rows although other arrangements more suitable for serial printers fall within the confines of this invention. Each column of type contains a full set of characters comprising the font, and each row contains 130 of the same characters. For example, the character type A in row 46 appears 130 times, once for every columnar position of printing. Associated with each column of type on the drum 36 is a print hammer 44, so that 130 hammers are adjacent the drum 36 at what has been designated the print line. The hammers 44 are actuated by solenoids 47 which are in turn connected at terminals 48 through suitable power amplifiers (not shown) to the output of the decision storage matrix 22 (FIG. 1).

The code generator in this embodiment comprises a code drum 34 having its periphery covered with a magnetizable coating. At intervals about the circumference of code drum 34, discrete portions of the code drum 34 along the width thereof are magnetized according to a pre-sele-cted 8 bit code in the columns marked 51 through 57. For example, the surface 46a of drum 34 has discrete portions thereof magnetized in a code (00010100) which is representative of the character A. In this code arrangement a column 50 stores the least significant bit and a column 57 stores the most significant bit. The presence of a one bit is represented by a dash (e.g. dash 60), and the absence of a dash indicates a zero bit. It will be observed that the portion of code drum 34 that bears the code representative of the character A leads the portion of the type drum 36 which has the row of A type. The same relationship holds true for the remaining codes on the code drum 34 and the character types with which they are associated.

Rotating along with drums 34 and 36 is the sprocket wheel 32 which also has its periphery covered with a magnetizable material. The sprocket wheel 32 is magnetized at discrete portions thereof; in particular this wheel contains a magnetized spot positioned alongside every code representation on the code drum 34.

It will be observed that some characters, for example the numerals one, two, etc. have a plurality of codes and sprockets associated therewith, Whereas the letters A, B, etc. have only one sprocket and only one code representation. In this particular embodiment only the numerals will be printed in addition to their regular position, in the superscript and subscript position. As will be appreciated only these latter characters need the plurality of codes and sprockets. However, it is within the purview of this invention to have any or all of the characters on the drum printed in a plurality of positions about the center line of the printed row.

Looking particularly at the area marked 58 on drum 34 it can be seen that three codes appear therein and are associated with the numeral one. The first of the three codes (10000100) identified by one bit at 61 and 62 in column 57 and 52 respectively represents the code for superscript one. The second of the codes (00000100), identified by one bit at 64 in column 52 represents the code for the numeral one to be printed in the regular centered position in the line of type. Finally, the last of the three codes (01000100) identified by the one bits at 63 and 65 represents the superscript one. The remaining codes for the numerals two, etc. are arranged in the same way as described in connection with the character one.

As can be seen from FIGURE 2, the sprocket wheel 32 has at least one magnetized spot, associated with each code position on the drum 34. For example, spot 71 is associated with the code for the letter A. For those characters to be printed in the superscript and subscript positions as well as the regular positions, three magnetic marks are employed to generate three separate sprocket pulses. Thus at the area 70 on the sprocket wheel 32, three magnetic marks 66, 67 and 68 are employed and these marks are associated, respectively, with the subscript one, the regular one, and the superscript one.

In order to convert the sprocket .and character code indications on wheel 32 and drum 34 from their magnetic representations to electrical signals, transducers 40 and 42 are placed adjacent to the wheel 32 and drum 34 respectively. Transducer 42 is an 8 channel magnetic read head and responds to the magnetic spots across the tracks 50 to 57 to produce electrical signals which are applied to the code register 14 (FIG. 1). Transducer 40 is a single magnetic read head which produces a. timing or sprocket signal in response to the magnetic spots on sprocket wheel 32. The sprocket signals are applied as a read pulse to the storage matrix 22 via delay element 24.

To best summarize the operation of this invention refer now to FIGURES 3a, 3b, and 3c in conjunction with FIGS. 1 and 2. FIGURES 3a, 3b and 30 all illustrate the print hammer 44, the type drum 36 having a row of type characters 82 thereon, the inked ribbon 84 and the record arranged so that the ribbon 84 and record 80 to be printed upon are between the drum 36 and the hammer 44. When the hammer 44 is actuated it moves toward the drum 36 causing the record 80 to press against the inked ribbon which is in turn forced against the font 82. It will be observed from FIGURES 3a, 3b and 30 that the hammer is broad enough to force the record 80 and the inked ribbon 84 against the font in either the subscript position (FIG. 3a), the regular position (FIG. 3b) or the superscript position (FIG. 3c).

When a character such as the letter A is to be printed, the code drum 34 will have reached the position such that the area 46a having the code for the letter A will be under the transducer 42. The transducer 42 in response to the magnetic spots on area 46a generates electrical signals representative of the letter A which are applied to the code register 14. At the same time as the code is entered into register 14 the sprocket wheel 32 causes a pulse to be generated by transducer 40 which is applied to the delay element 24. At this time it will be appreciated that the A characters on the drum 36 are not yet at the print line, but will be the next row of characters to arrive at this point underneath the print hammers.

The code for the letter A will remain in the code register 14 and will not be replaced by a new code until all of the characters stored in the memory constituting a line of print have been transferred in a serial fashion to the comparator 12 where at the same time, the output of code register 14 is applied. The clock pulse generator 20 is set to have a repetition rate sothat the address counter 18 is stepped through all of its 130 counts at least, in this embodiment, three times in the period that it takes one row of character type on the drum 36 to fully replace another at the print line. That is, in this particular case the address counter 18 is cycled three times before the characters A reach the print line underneath the hammers. While it is only necessary for the memory 10 to be completely read out once in the time period just specified for characters that are only printed in one position along the line of type, it is necessary to read out the memory in the period just defined a number of times equal to the number of positions any character in the font may assume. Since some of the characters can be printed in the regular, super and subscript positions, the memory is read out three times in the period it takes one row of characters to replace another at the print line.

As previously noted, the address counter 18 not only causes the readout from the serial addresses in memory 10 but also primes the cores in storage matrix 22 for read-in in synchronism with the locations being read out from the memory 10. For each location in the memory 10 which has the letter A therein, the comparator 12 produces an output to set a core in matrix 22 associated with that memory location. Assuming that memory locations 1, 5 and 130 are storing the letter A, the cores associated therewith would be set. Now when the sprocket pulse has passed the delay element 24 the outputs will be read from these cores and applied to their associated print hammers for columnar positions 1, and 130. The delay element 24 delays the sprocket pulse read from sprocket wheel 32 for such a time that it takes the character A to reach the print line. Accordingly, when the readout pulse from delay 24 produces outputs from the storage matrix 22 which are applied to the print hammers 44, the letter A will be in line for printing. More particularly, the letter A will be printed at a fixed distance from the row of characters ahead of it just previously printed and will be printed in the regular position. The sprocket pulses for the letters A, B, etc., and the codes therefor are spaced on the sprocket wheel 32 and the code drum 34, respectively, in such a position that the line of characters that are printed in response to these pulses are printed in uniformly spaced lines.

It will be appreciated that if the sprocket pulse is generated early the characters printed in response thereto will be in the subscript position and if the sprocket pulse is generated late, the characters printed will be in the superscript position. An early sprocket may be generated by increasing the distance between the magnetic spot on wheel 32 producing the sprocket pulse and the character on the drum 36 with which it is associated. A late sprocket pulse may be generated by decreasing the distance between the magnetic spot on wheel 32 producing the sprocket pulse and the character on the drum 36 with which it is associated.

If it is desired to print one of the characters on the drum in either the superscript or subscript position additional sprocket pulses and codes must be associated with that character. That is, the character to be printed will have an early, regular and late sprocket pulse associated therewith as well as a different code for each of its positions. For example, if a subscript one is to be printed, the print drum 36, code drum 34, and sprocket wheel 32 will have advanced to a position where the early sprocket pulse 66 associated with the character one is detected by transducer 40, and the code for the subscript one in response to magnetic spots 61 and 62 is generated by transducers 42. At this point, code register 14 will contain the code for the subscript one. As before the clock pulse generator 20 generates pulses which step the address counter 18 so that all of the characters stored in 130 locations of memory may be compared against the character representing the subscript one. It will be appreciated by examining area 70 on sprocket wheel 32 and area 50 on code drum 34 that three sprocket pulses and three separate codes are produced over the same time period that one sprocket pulse and one code are produced for letters that are to be printed only in the regular position. Consequently, the clock pulse generator 20 must cycle the address counter 18 through its 130 positions between each of the sprocket pulses 66, 67 and 68 associated with the three printing positions for the character one." Thus, the entire line of characters stored in the 130 memory locations of buffer memory 10 are read out and compared only once against the subscript one character in register 14 before the new code representing the character one in the regular position is transferred to register 14. Again for each memory location that is storing the character for the subscript one a corresponding core in the decision storage matrix is set, to ultimately actuate its associated print hammer. The magnetic spot 66 which produces the early sprocket pulse associated with the subscript one is generated at such time with respect to the font one on drum 36 that when the pulse produced by transducer 4% in response to spot 66 passes through delay element 24, the character one is not quite at the center of the print line, but is adjacent the bottom portions of hammers 44. Therefore, the readout from the cores in matrix 22 storing a subscript one occurs at such times that the ones are printed below the center of the print line and in a subscript position, as shown in FIG. 3a.

The next code to be produced is that representing the one to be printed in the regular position. This code is produced in response to the magnetic spot 64 at the same time the sprocket pulse is generated in response to magnetic spot 67. Accordingly, the code for the one in the regular position is placed in register 14 and the delay element 24 receives a regular sprocket pulse. Both the code drum 34 and the print drum 36 have rotated slightly such that the character A on drum 36 is now closer to the print line or more precisely one character position away therefrom. The positions of the memory 10 are read out and compared against the code representing the character one to be printed in the regular position. The cores in matrix 22 that are set in response to the output of comparator 12 are read out by the pulse produced in response to magnetic spot 67 after it has passed through delay element 24. This latter magnetic spot is positioned on wheel 32 with regard to the character font one on type drum 36 such that a pulse produced in response thereto at the output of delay 24 reads out the cores in matrix 22 when the character one is centered about the print line or in the regular print position as shown in FIG. 3b.

The next code to be stored in code register 14- is that representative of the superscript one which is produced in response to magnetic spots 63 and 65 at the same time as a late sprocket pulse is produced in response to spot 68 on code wheel 32. It will be appreciated that the drum 36 has rotated such that the character one is very close to the print line and now any comparisons with the code representing a superscript one are read out in response to a pulse produced by spot 68 after it passes delay 24 at a time when the character one is above the print line as shown in FIGURE 3c.

As has been described in the previous embodiment, the address counter 18 is cycled three times for each of the characters on the drum 36 that may be printed. More particularly, it will be recalled that the memory is read out three times for each line of characters as it reaches the print line, and that a complete line of type is printed after one revolution of the print drum 36. In high speed applications, this cycling period required of the address counter or the memory, for example, may exceed the capabilities of the logical elements used or it may not be economically feasible to use high speed elements. In such cases, an alternate embodiment of my invention can be used, which is now to be described.

Referring again to FIGURE 2, it will be noted that all characters that may be printed in the subscript position contain a magnetic spot in column 57 of the code drum 34, and all characters that may be printed in the superscript position contain a magnetic spot in column 56. It is, therefore, readily possible to detect the arrival of codes for the superscript or subscript characters from the code drum 34 and to delay the comparison of these characters until a later rotation of the print drum 36. In this embodiment the memory 10 will only be read out once for each row of characters on the drum 36 as that row approaches the print line. Further, means are provided which allow only those codes from drum 34 representative of characters to be printed in the regular position to be transmitted to the comparator during the first revolution of the print drum 36. After all the characters in the regular position are printed, then if there are characters to be printed in the superscript position, these are printed in the second rotation of the drum 36. Finally, if there are characters to be printed in the subscript position, they are printed in the last rotation of the print drum 36. Accordingly, as shall be seen, there is provided in the second embodiment apparatus indicating the number of rotations of the print drum 36 for any given print operation and there is aso provided apparatus which allows only codes for the characters to be printed in the regular position to be transmitted to the comparator (via the code register 14) in the first revolution of the drum 36; codes representing characters for the superscript position in the secnd revolution of the drum; and finally codes representative of characters in the subscript position in the third revolution of the drum 36.

Referring now to FIGURE 4, there is shown a generalized logical block diagram for the second embodiment of my invention. As can be seen, FIGURE 4 is very similar to the block diagram of FIGURE 1, but has the addition of the blocks numbered 11, 13 and 15. No changes are necessary in the make-up of the print drum 36, the code drum 34, or the sprocket Wheel 32 shown in FIGURE 2. Block 11, labeled the code detector, is shown in greater detail in FIGURE 4A and is inserted between buffer memory and the comparator 12. The code detector 11 transmits the output of the butter memory 10 to the comparator 12, but also comprises apparatus which detects bits in the seventh and eighth most significant positions of the characters being transmitted from the memory 10 to the comparator 12. If a hit is detected in these positions, indicating a superscript or subscript character, a signal is transmitted to the sprocket and rotation counter (shown in more detail in FIGURE 4A).

The sprocket and rotation counter 15 is connected to receive sprocket pulses which are selectively transmitted by the code selector 13 from the sprocket wheel 32. Sprocket and rotation counter 15 also is connected to the computer 16 to give an indication that the printing operation has ended as Well as for receiving from the computer 16 a signal indicating that the printing operation is to take place. Finally, the sprocket and rotation counter 15 applies the signals via line 17 to the code selector 13 which control the operation of this latter device such that in the first revolution of the print drum 36 (after a print operation commences), only codes and sprockets associated therewith for characters to be printed in the regular position are transmitted to the code register 14; during the second revolution only codes for the superscript characters are transmitted and; finally in the last revolution only codes for the subscript characters are transmitted. As shall be seen in connection with FIGURE 4A, the sprocket and rotation counter 15 contains apparatus which Will end the print operation after one revolution of the print drum if there are no superscript or subscript characters to be printed.

The code selector 13 (as shown in more detail in FIG- URE 4B) is a gating matrix inserted between the code register 14 and the output from read heads 42 associated with the code drum 34. The code selector 13 normally inhibits all codes containing a 7th or 8th bit from being transferred to the code register during the first revolution of the print drum 36. The code selector 13 receives the signals from the sprocket and rotation counter 15 ind1- eating the number of revolutions that the print drum 36 has made for any given line of print. Accordingly, if there is present on input line 17 a signal indicating that the drum is in the second revolution, then the code selector 13 allows codes (and sprockets associated therewith) with the 7th bit in them to pass to the code register 14. If the signal on the input line 17 indicates that the print drum is in the third revolution, then the code selector 13 allows only codes having an 8th bit therein (and sprockets associated therewith) to be transmitted.

To best understand the operation of the second embodiment of my invention, consider FIGURES 4A and 48 along with FIGURE 4. From FIGURE 4A, it can be seen that two of the eight signal lines which transmit the output of the buffer memory 10 to the comparator 12 are also connected to the seven flip-flop 104 and to the eight flipflop 102. If any of the codes representing characters to be printed in a line from the buffer memory 10 contain a 7th bit indicative of a superscript character, the flip-flop 104 will be set to produce the 7 signal and likewise if any of the characters to be printed contain an 8th bit indicative of a subscript, the flip-flop 102 will be set to produce the 8 signal. It is to be noted that flip-flops 102 and 104 are reset by the end of line signal (EOL) produced by the sprocket and rotation counter 15 when the printing operation is over. Thus the outputs of the flip-flops 102 and 104 are normally and 7. These two latter outputs (7 and 8 are used to indicate that none of the characters to be printed in a line is either a superscript or a subscript. It will be appreciated from the operation of the printer previously explained that for the first character to be printed, the entire contents of the memory 10 must be read out. That is all the characters from the memory 10 to the printed in the line are transmitted to the comparator prior to the time the first row of font on drum 36 reaches the print line. Accordingly, after the first row of characters is printed, for example, all the letters A in the line of print, flip-flops 102 and 104 will register the condition of the information to be printed. That is, the flip-flops 102 and 104 are still producing the 8 and 2 signals respectively, none of the characters to be printed is either in the super or subscript position. If fiipflop 104 is set, some of the characters to be printed (or at least one) is in the superscript position and if the flip flop 102 is set to produce an 8 signal, then at least one of the characters to be printed is in the subscript position.

The outputs of flip-flops 102 and 104 serve to control gates 106, 108, 110, and 112. These aforementioned gates are all AND gates and hence, in order to pass a signal, all the inputs thereto must be present simultaneously. Gates 106, 108, 110 and 112 all drive OR gate 114, the output of which produces the end of line (EOL) signal on line 23. When this signal is produced it indicates that the entire line has been printed and that the print drum has made the number of revolutions necessary to print all of the characters therein. The EOL signal not only serves to reset flip-flops 102 and 104 as previously indicated, but is used to signal the computer that the print operation is over and is used to reset counters 116 and 118 (FIG. 4b).

The sprocket and rotation counter 15 is shown in more detail in FIGURE 4A and comprises a counter 116 which is connected via gate to receive the sprocket signals from the sprocket wheel 32 (FIGURE 2). The gate 100 is rendered operative by a signal from the computing unit 16 when printing is to take place. As shall be seen from an examination of FIGURE 41), all the sprocket pulses produced by the sprocket wheel 32 are not transmitted to the counter 116. For example, in the first revolution of print drum 36 (after print order is initiated) only those sprocket pulses associated with characters to be printed in the regular position are transmitted to counter 116. Sprocket counter 116 may be a conventional ring type counter which in this case can count to a maximum value equal to the number of rows of type on drum 36. In this embodiment there are assumed to be 63 rows of type on the drum 36 (i.e. the drum contains 63 different characters) and thus counter 116 will count to a value of 63 before it recycles. The output from counter 116 indicative of a count of 63 is applied as an input to AND gate 112 'as well as to the step input of rotation counter 118.

Gate 112 also receives the 7 and 8 outputs from flip-flops 104 and 102 respectively. These two signals, 7 and g, indicate that butfer memory 10 contains no characters in the line that are to be printed in super or subscript positions, and a sprocket count of 63 indicates that the drum has completed one revolution. According-1y, if AND gate 112 produces an output, it indicates that all the characters in the line have been printed. The output of AND gate 112 is transmitted through an OR gate 114 to line 23 and is there used as the end of line (EOL) signal.

The rotational counter 118 is a 3 stage counter which is normally set to produce a count of 1. The output of counter 118 indicates the number of the revolution the print drum is making, and as shall be seen, controls the transmittal of codes and sprockets from the code drum 34 and sprocket wheel 32. When the sprocket counter 116 reaches a count of 63, the rotation counter 118 is stepped and produces a count of 2.

If it is assumed that gate 112 is rendered operative, the end of the line (EOL) signal produced thereby is supplied to reset the sprocket counter 116 to zero and rotation counter 118 back to 1, and is also applied to the computer 16 to end the print operation. Upon receipt of the EOL signal the computer 16 removes the permissive signals to gate 100 (FIG. 4a) and gate 19 (FIGS. 1 and 4).

If it is assumed that there are also superscript characters to be printed, gate 112 will not produce an output; the sprocket counter 116 will recycle; and the rotation counter 118 will produce a count of 2. In response to the count of 2 from the rotation counter 118 (as shall be later explained) sprockets and codes associated with superscript characters are transmitted from the sprocket wheel 32 and code drum 34 to the apparatus of FIGURE 4.

In this embodiment, it was indicated by way of example, that there are only characters on the print drum 36 which can be printed in the superscript position. Accordingly, in the second revolution of print drum 36, a count of 10 sprockets by counter 116, indicates that all the characters which can be printed in the superscript position have passed the print line (i.e. have been printed). An output from counter 116 indicative of the count of 10 is applied to AND gates 106 and 108, both of which are connected at their outputs to the EOL line 23 via OR gate 114. AND gates 106 and 108 receive the 2nd and 3rd outputs respectively from rotation counter 118 and hence are only operated after the first revolution of print drum 36, that is after the characters in the regular position have been printed. Gate 106 receives the 7 and 8 outputs of flipflops 104 and 102 respectively, and gate 108 receives the 7 and 8 signals from these flip-flops. The 7 and 8 signals together at gate 106 indicates that the line of characters from buffer memory 10 to be printed has at least one superscript and no subscript characters. When the sprocket counter 116 produces a count of 10 in the second revolution of drum 36, with the 7 and 8 signals present, gate 106 produces an output which is transmitted via buffer 114 to produce the EOL signal on line 23. It should be noted that the EOL signal is also applied to reset the sprocket counter 116 from the count of 10 to its initial count so that the counter 116 is ready :for future printing operations. The EOL signal is also applied to reset the rotation counter 118 for the same reason.

If it is assumed that subscripts are also to be printed, gate 106 will not be rendered operative since the 8 signal will not be present. As stated above, subscript characters are printed on the third revolution of the print drum 36. In order for sprocket and codes associated with the subscript characters to be transmitted from sprocket wheel 32 and code drum 34, the rotation counter 118 must be set to a count of 3. It will be appreciated that after the superscript characters are printed, the sprocket counter 116 produces an output at its 10th output line and rotation counter 118 produces a signal at its 2nd output line. AND gate 122 which is connected at its output to the step input of the rotation counter 118 receives these two aforementioned input signals and steps the rotation counter 118 to a count of 3.

The sprocket counter 116 now receives all the sprockets associated with the characters to be printed in the subscript position. As previously pointed out, there are in this embodiment 10 such characters. Accordingly, when the sprocket counter 116 has been advanced from the count of 10 to a count of 20, all characters which can be printed in the subscript position have passed by the print line. Gate 110 is connected to detect the th output of the sprocket counter 116 as well as the 8 output of flipflop 102 and 3 output of rotation counter 118. Gate 110 then operates on the third rotation of print drum 36 after characters to be placed in the subscript position on the record are there printed. Gate 110 transmits an EOL signal to line 23 via OR gate 114 and this signal ends the print operation as previously described.

It is possible to skip the cycle of operation reserved for the printing of superscript characters if none of these characters are in fact to be printed; that is, there are no characters in the buffer memory 10 which are to be printed in the superscript position. In this situation, the time employed after rotation counter 118 is stepped from 1 to 2, to count the 10 sprockets associated with the superscript characters is wasted. AND gate 124 which is connected to the step input of the rotation counter 118 steps this counter from the count 2 to 3 when the aforementioned condition obtains. Gate 124 receives the second output from rotation counter 118 and a 7 and 8 signals from flipflop 104 and 102 respectively. These latter two inputs indicate that the line of data to be printed contains at least 1 subscript character and no superscript characters. As soon as the rotation counter 118 is stepped from a count of 1 to 2 (after all the characters in the regular position are printed), gate 124 steps the rotation counter to a count of 3. Thus, immediately after the characters in the regular position are printed, the characters for the subscript positions can be printed.

The end of line signal in this case will be produced via gate 108 and buffer 114. Gate 108 receives the 3 output rom rotation counter 118, the ten output from sprocket counter 116, and the 7 and 8 outputs from flip-flops 104 and 102. With these inputs gate 108 transmits a signal when counter 116 reaches a count of 10 indicating that all the subscript characters have been printed. The end of line signal produced via OR gate 114 acts to reset the various counters and flip-flops so that the apparatus is again ready for a new print operation.

Refer now to FIGURE 4b which illustrates the code selector 13. The code selector 13 comprises eight gates, 138a to 138k which are connected through delay elements 136a to 136k respectively, to the eight outputs of read head 42 associated with code drum 34 (FIG. 2). The outputs of gates 138 are connected via the code register 14 to the input of the comparator 12 (FIG. 1 or 4). Also included in the code selector 13 is gate 140, which is connected via delay element 141 to the output of read head 40 (FIG. 2) associate-d with sprocket wheel 32. The output of gate 140 is connected to gate and delay element 24 so that the sprocket pulses from wheel 32 may be selectively counted by sprocket counter 116 and also selectively transmitted to read out the decision storage matrix 22. (FIG. 4.)

All of the aforementioned gates 138 and 140 are rendered operative by an output signal from OR gate 142. OR gate 142 receives inputs from 3 AND gates, 130, 132 and 134 illustrated in the form of a gating matrix. Each of these AND gates has a plurality of inputs, one of which is derived from the rotation counter 118. In particular, gates 130, 132 and 134 receive the first, second and third outputs respectively from the rotation counter 118. Additionally, delay flops 126 and 128 are connected at their outputs to the input of these gates. The delay flops 126 and 128 are monostable devices and in the absence of the signal applied at their inputs produce a 77st and 8E signals respectively. When they receive a signal at their inputs they produce the 7d and 8d signals. The 73 and 8E outputs are connected to the inputs of gate 130 and the 7d and 8d outputs are connected respectively, to the inputs of gates 132 and 134. Delay flops 126 and 128 are connected respectively at their inputs to that portion of read head 42 (FIG. 2) which detects the presence of bits in the columns 56 and 57 of code drum 34. These latter two bits are indicative of a superscript or subscript character. Thus, when a code indicative of a superscript character is detected by head 42 the delay flop 126 receives an input and the 7d signal is produced; and when the code indicative of subscript character is detected by head 42, the delay flop 128 receives an input, and the 8d signal is produced. The 7d and the 8d signals are produced by delay flops 126 and 128 for a time which is shorter than the period between the detection of any two sprocket pulses by head 40 (FIG. 2). Delay elements 136a through 136k and delay element 141 are long enough to delay the application of signals from read heads 40 and 42 to gates 138 and 140 until delay flops 126 and 128 can respond to the signals at their inputs.

In operation, with rotation counter 118 producing a signal at its first output, gate 130 is rendered operative and produces a signal for each code representative of a character to be printed in the regular position. The output of gate 130 is transmitted via OR gate 142 to gates 133a through 138k and to gate 140 to render them operative wherein codes and sprockets for characters to be printed in the regular position are transmitted. That is, the codes from the drum 34 are transmitted to the comparator 12 (via the code register 14) and the sprockets associated therewith are transmitted to gate 100 and delay element 24. Obviously when the rotation counter 118 is in the aforementioned state, the codes and sprockets for subscripts and superscript characters are not transmitted. However, from the examination of FIGURE 4b, it will be readily appreciated that the codes and sprockets from drum 34 and wheel 32 for superscript and subscript characters are transmitted when the 2nd and 3rd outputs from rotation counter 118 are applied to gates 132 and 134 respectively.

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:

1. In a high speed printing apparatus comprising: a cylindrical type drum adapted for rotation having a plurality of character type elements on the surface thereof in uniformly spaced rows substantially along the axis of said type drum, wherein all the type elements in one row are the same character, code means associated with said type drum and controlled thereby for producing a plurality of different sets of signals representative of a character in a row of type elements, each set of signals being produced as said row of type elements of the same character is at a different predetermined position, sprocket means associated with said type drum for producing a timing signal for each of said set of signals representative of a character, said code means comprising a cylindrical code drum mounted for rotation with said type drum, said code drum having a plurality of different indicia in spaced relationship in a circular channel on the surface thereof, each one of said indicia representing the same character in a row of type elements on said print drum and code reading means disposed in spaced relationship to said code drum for producing a different set of electrical signals for each of said different indicia representing the same character.

2. The apparatus defined in claim 1 further including a sprocket means comprises a cylindrical timing drum having a timing indicator thereon for each of said indicia on said code drum and timing reading means in spaced relationship to said timing drum for producing a timing signal for each set of signals representative of a character in a row of type elements.

3. In a high speed printing apparatus for printing char acters in uniformly spaced lines on a record and for printing superscript and subscript characters at least partially between said uniformly spaced lines of characters comprising: a cylindrical type drum adapted for rotation having a plurality of character type elements on the surface thereof in uniformly spaced rows substantially along the axis of said type drums, wherein all the type elements in a row are the same character, code means associated with said type drum and controlled thereby for producing a plurality of different sets of signals representative of a character in a row of type elements, each set of signals being produced as said row of type elements of the same character is at a different predetermined position, sprocket means associated with said type drum for producing a sprocket signal for each said set of signals representative of a character in a row of type elements, memory means storing sets of signals representative of a plurality of characters to be printed in a line on said record, said memory storing a plurality of different sets of signals representative of the same character, comparator means coupled to said memory and said code means for comparing all the character representations from said memory with each set of signals from said code means, and printing means controlled by said comparator and said sprocket means for printing in a line on said record the character represented by the signals from said code wheel at positions associated with said line which. are related to the signals representing a similar character in said memory and the location thereof in said memory, whereby said printing means prints a portion of the characters rep resented by said sets of signals stored in said memory in uniformly spaced lines of characters on said record and selected characters represented by said sets of signals stored in said memory are at least partially printed between said uniformly spaced lines of characters in a super or subscript position.

4. In a high speed printing apparatus for printing characters in uniformly spaced lines on a record and for printing superscript and subscript characters at least partially between said uniformly spaced lines of characters comprising: a cylindrical type drum adapted for rotation and having a plurality of character type elements in uniformly spaced rows substantially along the axis of said type drum, wherein all the type elements in a row are the same character, code means associated with said type drum and controlled thereby for producing a first set of signals representative of the character in a row of type elements as said row on said. drum is at a first predetermined position, sprocket means associated with said type drum for producing a timing signal for each row of character type elements on said type drum as the row passes said first predetermined position, memory means storing sets of signals representative of a plurality of characters to be printed in one of the uniformly spaced lines on said record and storing different sets of signals representative of the same characters to be printed at least partially above or below one of the uniformly spaced lines on said record, comparator means coupled to said memory and said code means for comparing all sets of signals representative of characters from said memory with each set of signals from said code means and printing means controlled by said comparator and said sprocket means for printing in a line on said record the character represented by the signals from said code means at positions along said line which are related to the location of said character in said memory, said printing means printing rows of characters in equally spaced lines, an improvement for printing characters between said uniformly spaced lines which comprises means associated with said type drum for causing said code means to produce a second set of signals representative of said character in a row of type elements when said character type elements are at a second predetermined position for at least partially printing characters between said uniformly spaced lines.

5. In a high speed printing apparatus for printing characters in uniformly spaced lines on a record and for printing superscript and subscript characters at least partially between said uniformly spaced lines of characters comprising: a cylindrical type drum adapted for rotation having a plurality of character type elements on the surface thereof in uniformly spaced rows substantially along the axis of said type drum, wherein all the type elements in a row are the same character, memory means storing sets of signals representative of a plurality of characters to be printed in a line, said memory storing a different set of signals representative of the same character to be printed above or below the center of a uni formly spaced line of characters, code means associated with said type drum and controlled thereby for producing a plurality of different sets of signals representative of a character is a row of type elements, each set of signals being produced as said row of type elements is at a different predetermined position and associated with a different position of a character to be printed with respect to the center of a uniformly spaced line of characters, sprocket means associated with said type drum for producing a sprocket signal for each set of signals repre sentative of a character, comparator means coupled to said memory and said code means for comparing all the character representations from said memory with each set of signals from said code means, printing means controlled by said comparator and said sprocket means for printing in a line the character represented by the signals from said code wheel at positions along the line which are related to the location in said memory, control means coupled to said memory for producing signals indicating that character representations stored in said memory are to be printed above or below said uniformly spaced line, code selection means coupled to and controlled by said control means and intermediate said comparator means and said code means for transmitting to said comparator sets of signals from said code means representative of characters to be printed in a line and signals from said control means indicating that characters are to be printed above or below said uniformly spaced line further conditioning said selection means to transmit from said code means to said comparator means sets of signals representative of characters to be printed above or below said line, whereby said printing means prints a portion of the characters in a row in one of said uniformly spaced lines and selected characters from the line of type elements on said drurn are printed at least partially between said uniformly spaced lines of characters in a super or subscript position.

6. The apparatus defined in claim 5 wherein said control means comprises apparatus for producing an in line signal indicating that all the character representations in said memory are to be printed in one of said uniformly spaced lines and no character representations are to be printed above or below said line, said code selection means comprises signaling means for producing an ending signal indicating that all the characters in said memory have been printed, and said signaling means comprising first detection means coupled to said control means and rendered operative when said control means produces said in line signal for producing said ending signal after all the characters in the line are printed.

7. The apparatus defined in claim 6 wherein said signaling means comprises a second detection means cou pled to said control means and rendered operative when said control means produces a signal indicating the presence of characters in said line to be printed above or below said line for producing an ending signal after all the characters in the line are printed and all the characters above and below said line are printed.

8. The apparatus defined in claim 6 further comprising sprocket selection means coupled to and controlled by said control means and connected to receive sprocket signals from said sprocket means for selectively transmitting said sprocket signals to said printing means, counting means coupled to said sprocket selection means to count sprocket signals selectively transmitted by said sprocket selection means, said control means operating said sprocket selection means for transmitting sprocket signals associated with codes representative of characters to be printed in a uniformly spaced line, and signals from said control means indicating that characters are to be printed above or below said line thereafter conditioning said sprocket selection means to transmit sprocket signals associated with characters to be printed above or below said line to said counting means, said counting means having a first output terminal for transmitting a signal after all the sprocket signals associated with said characters to be printed in line are counted, and a second output termial for transmitting a signal after all the sprocket signals are generated associated with characters to be printed above or below said line are generated, and coupling means connecting said first output terminal from said counting means to said first detecting means and second coupling means connecting second output from said counting means to the said second detecting means.

9. The apparatus defined in claim 1 wherein a set of three indicia are on the surface of said code drum for each row of character types on said type drum.

10. The apparatus defined in claim 4 further including means for causing said sprocket means to produce a timing signal in time relationship with said second set of signals.

References Cited UNITED STATES PATENTS 1,690,826 11/1928 Kurowski 197121 2,776,618 1/1957 Hartley 10193 2,915,966 12/1959 Jacoby 101-93 2,915,967 12/1959 Gehring et al 101-93 3,024,723 3/1962 Wasserrnan 10193 3,072,047 1/1963 Maudsley et al. 101-93 3,120,801 2/1964 Davies et al. 10193 3,142,247 7/1964 Sweeney l01-93 3,158,090 11/1964 Wasserman l01-93 3,220,343 11/1965 Wasserman 10l93 FOREIGN PATENTS 243,906 2/1912 Germany.

WILLIAM B. PENN, Primary Examiner.

ROBERT E. PULFREY, Examiner.

P. R. WOODS, Assistant Examiner. 

1. IN A HIGH SPEED PRINTING APPARATUS COMPRISING: A CYLINDRICAL TYPE DRUM ADAPTED FOR ROTATION HAVING A PLURALITY OF CHARACTER TYPE ELEMENTS ON THE SURFACE THEREOF IN UNIFORMLY SPACED ROWS SUBSTANTIALLY ALONG THE AXIS OF SAID TYPE DRUM, WHEREIN ALL THE TYPE ELEMENTS IN ONE ROW ARE THE SAME CHARACTER, CODE MEANS ASSOCIATED WITH SAID TYPE DRUM AND CONTROLLED THEREBY FOR PRODUCING A PLURALITY OF DIFFERENT SETS OF SIGNALS REPRESENTATIVE OF A CHARACTER IN A ROW OF TYPE ELEMENTS, EACH SET OF SIGNALS BEING PRODUCED AS SAID ROW OF TYPE ELEMENTS OF THE SAME CHARACTER IS AT A DIFFERENT PREDETERMINED POSITION, SPROCKET MEANS ASSOCIATED WITH SAID TYPE DRUM FOR PRODUCING A TIMING SIGNAL FOR EACH OF SAID SET OF SIGNALS REPRESENTATIVE OF A CHARACTER, SAID CODE MEANS COMPRISING A CYLINDRICAL CODE DRUM MOUNTED FOR ROTATION WITH SAID TYPE DRUM, SAID CODE DRUM HAVING A PLURALITY OF DIFFERENT INDICIA IN SPACED RELATIONSHIP IN A CIRCULAR CHANNEL ON THE SURFACE THEREOF, EACH ONE OF SAID INDICIA REPRESENTING THE SAME CHARACTER IN A ROW OF TYPE ELEMENTS ON SAID PRINT DRUM AND CODE READING MEANS DISPOSED IN SPACED RELATIONSHIP TO SAID CODE DRUM FOR PRODUCING A DIFFERENT SET OF ELECTRICAL SIGNALS FOR EACH OF SAID DIFFERENT SET OF ELECING THE SAME CHARACTER. 